﻿using System;
using Bingosoft.Modules.SecurityConsole.User;
using Bingosoft.Web.Utils;
using System.Web.UI.WebControls;
using Bingosoft.Security;
using HHMMS.Core.Model;

namespace Bingosoft.WebApp.Modules.SecurityConsole.User
{
    public partial class UserEdit : System.Web.UI.BasePage
    {
        private UserService _userServie;
        private UserService UserService
        {
            get
            {
                return _userServie ??
                       (_userServie = ObjectHelper.GetObject<UserService>());
            }
        }

        protected void Page_Load(object sender, EventArgs e)
        {
            //初始化页面元素
            
            if (!this.IsPostBack&&this.SmartFormView1.IsInsert())
            {
                //根据当前用户类型确定用户可以添加的用户类型
                //UserType? userType = SecurityContext.User.CurrentUserType();
                //if (userType.HasValue)
                //{
                //    switch (userType.Value)
                //    {
                //        case UserType.MarketAdmin:
                //            this.SmartFormView1["Type"] = (int)UserType.CompanyAdmin;//若登录用户为商场管理员，则可以添加品牌管理员
                //            break;
                //        case UserType.CompanyAdmin:
                //            this.SmartFormView1["Type"] = (int)UserType.BranchAdmin;//若登录用户为品牌管理员，则可以添加分店管理员
                //            break;
                //        case UserType.BranchAdmin:
                //            this.SmartFormView1["Type"] = (int)UserType.BranchMember;//若登录用户为品牌管理员，则可以添加分店会员
                //            break;
                //        default:
                //            this.SmartFormView1["Type"] = (int)UserType.MarketAdmin;//否则为系统管理员，则可以添加商场管理员
                //            break;

                //    }
                //}
                //else
                //{
                //    this.SmartFormView1["Type"] = (int)UserType.MarketAdmin;//否则为系统管理员，则可以添加商场管理员
                //}

                string OrgId = Request.Params["OrgId"];
                if (!string.IsNullOrEmpty(OrgId))
                {
                    string OrgName = this.UserService.GetOrgName(OrgId);
                    this.SmartFormView1["OrgId"] = OrgId;
                    this.SmartFormView1["OrgName"] = OrgName;
                }
            }

            
         //   (ControlHelper.FindControl(this.SmartFormView1, "Type") as DropDownList).Enabled = false;
        }

        protected void SaveOrUpdateUser(object sender, EventArgs e)
        {
            var userInfo = this.SmartFormView1.ToEntity<UserInfo>();
            if (String.IsNullOrEmpty(userInfo.Id)&&this.UserService.CheckUniqueAccount(userInfo.LoginId))
            {
                ScriptHelper.Alert(this,"您输入的登录账号已经存在，请换其他的登录帐号试试!");
            }
            else
            {
                this.UserService.SaveOrUpdateUser(userInfo);
                ScriptHelper.CloseDialog(this, "true");
            }
        }
    }
}